package cjyyp.文件编程;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;

public class Paths和Files常用api {
    public static void main(String[] args) throws IOException {
        Path source = Paths.get("1.txt");// 相对路径 使用 user.dir 环境变量来定位 1.txt
        Path projects = Paths.get("d:\\data", "projects"); // 代表了  d:\data\projects
        Files.exists(source);//检查文件是否存在
        Files.createDirectory(projects);//创建一级目录
        Path path = Paths.get("helloword/d1/d2");
        Files.createDirectories(path);//创建多级目录用
        Path source1 = Paths.get("helloword/data.txt");
        Path target1 = Paths.get("helloword/target.txt");
        Files.copy(source1, target1);//拷贝文件,也会用到零拷贝
        Files.move(source1, target1, StandardCopyOption.ATOMIC_MOVE);//移动文件，StandardCopyOption.ATOMIC_MOVE 保证文件移动的原子性
        Files.delete(target1);//删除文件或目录，只能删除空目录
    }
}
